import os
import re


def delete_files_above_number(directory, threshold_low, threshold_high):
    """
    删除给定目录中数字大于某个阈值的文件。

    参数：
    - directory：包含文件的目录路径。
    - threshold：文件名的最大允许数字。
    """
    for filename in os.listdir(directory):
        # 使用正则表达式匹配文件名中的数字部分
        match = re.match(r"\d+", filename)
        if match:
            file_number = int(match.group())
            if file_number > threshold_low and file_number < threshold_high:
                os.remove(os.path.join(directory, filename))


images_directory = "/home/hw/dataset/cone_total_new/images"
labels_directory = "/home/hw/dataset/cone_total_new/labels"

# 设定数字的阈值
threshold_number_low = 5293  
threshold_number_high = 5651
# 删除图片文件夹中数字大于阈值的文件
delete_files_above_number(images_directory, threshold_number_low, threshold_number_high)

# 删除标签文件夹中数字大于阈值的文件
delete_files_above_number(labels_directory, threshold_number_low, threshold_number_high)

print("已从两个目录中删除大于 {} 的文件。".format(threshold_number_low))
print("已从两个目录中删除小于 {} 的文件。".format(threshold_number_high))
